package com.jctrip.hotel.source.model.dossen;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Author: beihai
 * @Date: 2022/9/27 10:57
 * @Description:
 */
@NoArgsConstructor
@Data
public class DossenRatePlanData implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * {
     * "rateplan_code": "RP000034",
     * "name": "2018跨年主题房",
     * "payment_type": "0",
     * "breakfast_count": 9,
     * "cancel_policy": "{\"cancelPolicyType\":5,\"policyInfo\":{\"timeBefore\":6}}",
     * "status": 1,
     * "guarantee_type": 3,
     * "UsableHotel": "0000122",
     * "MemberTypeID": "01,02,03,04",
     * "ActivityCode": "A000012218031800021C",
     * "Brand": null,
     * "first_stay": 0,
     * "min_days": 0,
     * "max_days": 90,
     * "StartDate": "2018-03-18 00:00:00",
     * "EndDate": "2028-03-18 23:59:59",
     * "RoomTypeID": "SD,SS",
     * "EarlyDays": 0,
     * "TripRatePlanCode": null,
     * "TailRoom": 0,
     * "ActivityType": 0,
     * "member_rp": 0,
     * "member_breakfast": false,
     * "ResvTime": null,
     * "IsEnable": true,
     * "ResvStartDate": "2018-03-18 00:00:00",
     * "ResvEndDate": "2028-03-18 23:59:59",
     * "RpType": "NS",
     * "CheckInStartTime": 0,
     * "CheckInEndTime": 0,
     * "StayHours": 0
     * }
     */
    /**
     * RB0000020-差旅平台呈旅银
     * RB0000021-差旅平台呈旅金
     * RB0000001-集团呈旅银协议
     * RB0000002-集团呈旅金协议
     * RB0000003-集团呈旅白金协议
     * RB0000004-集团呈旅黑金协议
     */
    @JsonProperty("activityCode")
    private String activityCode;
    @JsonProperty("name")
    private String name;
    @JsonProperty("paymentType")
    private Integer paymentType;
    @JsonProperty("breakfastCount")
    private Integer breakfastCount;
    @JsonProperty("cancelPolicy")
    private String cancelPolicy;
    @JsonProperty("status")
    private Integer status;
    @JsonProperty("guaranteeType")
    private Integer guaranteeType;
    @JsonProperty("usableHotel")
    private String usableHotel;
    @JsonProperty("minDays")
    private Integer minDays;
    @JsonProperty("maxDays")
    private Integer maxDays;
    @JsonProperty("firstStay")
    private Integer firstStay;

    @JsonProperty("roomTypeId")
    private String roomTypeId;

    @JsonProperty("startDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String startDate;

    @JsonProperty("endDate")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String endDate;

    @JsonProperty("earlyDays")
    private Integer earlyDays;
    @JsonProperty("resvTime")
    private String resvTime;
    @JsonProperty("tailRoom")
    private Integer tailRoom;

    // 产品类型 0-协议会员价、1-促销活动价
    @JsonProperty("productType")
    private Integer productType;

    //    @JsonProperty( "MemberTypeID")
    //    private String memberTypeID;
    //    @JsonProperty( "Brand")
    //    private Object brand;
    //    @JsonProperty( "TripRatePlanCode")
    //    private Object tripRatePlanCode;
    //    @JsonProperty( "ActivityType")
    //    private Integer activityType;
    //    @JsonProperty( "member_rp")
    //    private Integer memberRp;
    //    @JsonProperty( "member_breakfast")
    //    private Boolean memberBreakfast;
    //    @JsonProperty( "IsEnable")
    //    private Boolean isEnable;
    //    @JsonProperty( "ResvStartDate")
    //    private String resvStartDate;
    //    @JsonProperty( "ResvEndDate")
    //    private String resvEndDate;
    //    @JsonProperty( "RpType")
    //    private String rpType;
    //    @JsonProperty( "CheckInStartTime")
    //    private Integer checkInStartTime;
    //    @JsonProperty( "CheckInEndTime")
    //    private Integer checkInEndTime;
    //    @JsonProperty( "StayHours")
    //    private Integer stayHours;
}
